#include <bits/stdc++.h>
// 2025/07/23
// tag:
// Author: Forever
using namespace std;
using int64 = int64_t;

int n, stk[50001], top;
struct line {
    int k, b, id;
    bool operator<(const line& a) const
    {
        if (k != a.k)
            return k > a.k;
        return b > a.b;
    }
} l[50001];

bool cmp(int x, int y)
{
    return l[x].id < l[y].id;
}

double p(int x, int y)
{
    return 1.0 * (l[y].b - l[x].b) / (l[x].k - l[y].k);
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> l[i].k >> l[i].b, l[i].id = i;
    sort(l + 1, l + n + 1);
    for (int i = 1; i <= n; i++) {
        if (i >= 2 && l[i].k == l[i - 1].k)
            continue;
        while (top >= 2 && p(stk[top - 1], stk[top]) <= p(stk[top], i))
            top--;
        stk[++top] = i;
    }
    sort(stk + 1, stk + top + 1, cmp);
    for (int i = 1; i <= top; i++)
        cout << l[stk[i]].id << " ";
    return 0;
}